<?php 

namespace Home\Controller;

use Think\Controller;

class UserController extends BaseController{
    public function index(){
        
        
        $this->display('userCenter');
    }
    
    // 显示界面
    public function content(){
        
        $user_id = session('user.id');
        
        // 设置参数来判断是否可以签到
        $can_sign = 0;
        
        $date = M('user_sign')->where(array('user_id'=>$user_id))->field('sign_date,sign_count')->find();
        
        if ($date['sign_date'] == date('Ymd',time())){
            $can_sign= 1;
        }
        
        // 获取连续签到的天数
        $sign_count = 0;
        
        if ($date['sign_date'] == date('Ymd',time()) || $date['sign_date'] == date('Ymd',strtotime('-1 day'))){
            $sign_count = $date['sign_count'];
        }
        
        $point = M('user')->where(array('id'=>$user_id))->getField('point');
        
        // 获取所有的头像
        $allThumb = '';
        for ($i=1;$i<=10;$i++){
            $allThumb .= '<a style="margin:5px 0 0 10px;cursor:pointer;position:relative;display:inline-block;"><img class="selectThumb" onclick="selectThumb(this)" alt="" src="/Public/Home/thumb/'.$i.'.jpg" style="width: 80px;height: 80px;border: 1px solid #ccc;"><i style="background:url(/Public/Home/images/icon_right_s.png);width:18px;height:20px;display:none;position:absolute;right:5px;bottom:5px;"></i></a>';
        }
        
        // 传递数据
        $this->assign('allThumb',$allThumb);
        $this->assign('point',$point);
        $this->assign('can_sign',$can_sign);
        $this->assign('sign_count',$sign_count);
        
        $this->display();
    }
    
    // 签到
    public function qiandao(){
        
        // 设置连续签到次数
        $sign_count = 1;
        
        // 创建模型
        $user_sign_M = M('user_sign');
        $user = M('user');
        
        // 获取用户的id
        $user_id = I('get.user_id');
        
        // 获取签到记录
        $user_sign = $user_sign_M->where(array('user_id'=>$user_id))->find();
        
        if (empty($user_sign)){ // 没有历史签到记录,第一次签到
            
            $data = array(
                'sign_time' => time(),
                'sign_date' => date('Ymd',time()),
                'user_id' => $user_id,
                'sign_count' => $sign_count,
            );
            
            // 添加数据
            $res = $user_sign_M->add($data);
            if ($res !== false){
                // 修改积分
                $user->where(array('id'=>$user_id))->setInc('point',10);
            }else {
                $this->ajaxReturn(array('status'=>0));
            }
        }else { // 有历史签到记录,不是第一次签到
            
            // 判断是不是连续签到
            if ($user_sign['sign_date'] == date('Ymd',strtotime('-1 day'))){ // 是连续签到
                
                // 获取连续签到的次数
                $sign_count = $user_sign['sign_count'];
                
                $point = $sign_count * 10 + 10;
                
                if ($sign_count >= 7){
                    $sign_count = 7;
                }else {
                    $sign_count += 1;
                }
                
                $data = array(
                    'sign_time' => time(),
                    'sign_date' => date('Ymd',time()),
                    'sign_count' => $sign_count,
                );
                // 修改数据数据
                $res = $user_sign_M->where(array('user_id'=>$user_id))->save($data);
                if ($res !== false){
                    // 修改积分
                    $user->where(array('id'=>$user_id))->setInc('point',$point);
                }else {
                    $this->ajaxReturn(array('status'=>0));
                }
            }else { // 不是连续签到
                $data = array(
                    'sign_time' => time(),
                    'sign_date' => date('Ymd',time()),
                    'sign_count' => $sign_count,
                );
                // 修改数据数据
                $res = $user_sign_M->where(array('user_id'=>$user_id))->save($data);
                if ($res !== false){
                    // 修改积分
                    $user->where(array('id'=>$user_id))->setInc('point',10);
                }else {
                    $this->ajaxReturn(array('status'=>0));
                }
            }
        }
        
        // 获取签到后的积分
        $point = $user->where(array('id'=>$user_id))->getField('point');
        
        $this->ajaxReturn(array('status'=>1,'point'=>$point,'sign_count'=>$sign_count));
    }
    
    // 修改头像
    public function changeThumb(){
        
        // 获取图像
        $thumb = I('post.thumb');
        
        // 修改用户数据
        $res = M('user')->where(array('id'=>session('user.id')))->setField('thumb',$thumb);
        if ($res !== false){
            
            // 修改session
            session('user.thumb',$thumb);
            echo 1;
        }else{
            echo 0;
        }
    }
    
}

?>